#实现线性回归算法的4个步骤：
#1.导入模型2.创建模型3.训练模型4.评估模型
from sklearn.linear_model import LinearRegression #导入线性回归类
import numpy as np

#创建预测数据函数
#x参数：自变量，代表投入广告费，值为二维的列表[[广告费1],[广告费2]……]，用于训练模型
#y参数：因变量，代表销售额，值为二维的列表[[销售额1],[销售额2]……]，用于训练模型
#predict_value参数：需要预测的广告费新样本，一个数值
def linear_model_main(x,y,predict_value):
    #1.创建模型
    regr = LinearRegression()
    #2.训练模型
    regr.fit(x,y) #训练模型，x为自变量，y为因变量
    #3.预测新样本，新样本为二维的列表
    predict_value = np.array(predict_value).reshape(1,-1)
    predict_outcome = regr.predict(predict_value) #预测新样本的销售额
    return predict_outcome
#4.评估模型
if __name__ == '__main__':
    x = [[4],[8],[9],[8],[7],[12],[6],[10],[6],[9],[10],[6]]
    y = [[9],[20],[22],[15],[17],[23],[18],[25],[10],[20],[20],[17]]
    predict_value = 8
    predict_outcome = linear_model_main(x,y,predict_value)
    print('预测结果是:',predict_outcome[0][0])